package com.example.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

//服务的生成者（被调用者）在注册中心注册的名字
@FeignClient(name = "SERVICE-PROVIDER", fallbackFactory = GitHubApiClientFailBackFactory.class)
//@RequestMapping(value = "/webapi")
public interface GitHubApiClient {

    //被调用者对应方法的路由(类和方法上的@RequestMapping)
    /**
     * 这里需要注意的两个地方
     * <p>
     * 1、在这里使用的GetMapping注解要和被调用发一致，如果还有问题就用@RequestMapping
     * 2、@PathVariable需要设置value，如果不设置也不能成功启动
     　　　*  注意点   1、路径
     * 2、Http方法必须对应
     　　　* 3、使用requestBody，应该使用@PostMapping
     * 4、多个参数的时候，通过@RequestParam（"id") int id)方式调用
     */
   // @RequestMapping(, "/getbook", method = RequestMethod.POST)

    @RequestMapping(value = "/getbook", method = RequestMethod.POST)
    String getbook(@RequestBody Map<String, Object> book);

    //@RequestMapping(value = "/myname", method = RequestMethod.POST)

    @RequestMapping(value = "/webapi/myname",method = RequestMethod.POST)
    public Object myname(@RequestBody Map<String, Object> map);
}